﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using EventSys.BussinesEntities;

namespace EventSys.Repository
{
    public class UbicacionRepository : MasterRepository, IUbicacionRepository
    {
        public List<Ubicacion> MostrarUbicaciones()
        {
            return Context.Ubicacions.ToList();
        }

        public Ubicacion GetUbicacionById(int id)
        {
            return Context.Ubicacions.Find(id);
        }

        public void AddUbicacion(Ubicacion ubicacion)
        {
            Context.Ubicacions.Add(ubicacion);
            Context.SaveChanges();
        }

        public void UpdateUbicacion(Ubicacion ubicacion)
        {
            Context.Entry(ubicacion).State = System.Data.EntityState.Modified;
            Context.SaveChanges();
        }

        public void RemoveUbicacion(int id)
        {
            var delete = Context.Ubicacions.Find(id);

            if (delete != null)
            {
                Context.Ubicacions.Remove(delete);
                Context.SaveChanges();

            }
        }

        public List<Ubicacion> GetFromAllUbicacionByCriterio(string criterio)
        {
            var lista = Context.Ubicacions.ToList();

            if (criterio != "" || criterio!=null)
            {
                lista = (lista.Where(d => d.Descripcion.ToUpper().Contains(criterio.ToUpper()) ||
                                          d.Address.ToUpper().Contains(criterio.ToUpper())
                                          )
                             ).ToList();
            }
            return lista;
        }
    }
}

